1. Field of the Invention
The present invention relates to printing to a printer connected to a cable set top box, which in turn is connected to a cable head end, so as to permit printing at the home printer from the cable head end. In particular, the invention pertains to a software architecture for both the cable head end and cable set top box, so as to accomplish such printing.
2. Description of the Related Art
With increasing availability of cable television networks that also provide digital data to a home subscriber, a new product is becoming increasingly common in homes: a set top box which provides access not only to conventional cable television, but also provides access to internet-based based digital data. Examples of existing set top boxes include those manufactured by Scientific Atlanta under the tradename xe2x80x9cExplorer 2000xe2x80x9d, General Instrument under the tradename xe2x80x9cDCT 5000+xe2x80x9d, and Motorola, under the tradename xe2x80x9cStreamMasterxe2x80x9d. Set top boxes are home-based, and are connected to a cable provider (often referred to as the xe2x80x9ccable head endxe2x80x9d)over a high speed digital cable network. Set top boxes provide efficient delivery of cable television broadcasts from the cable head end. In addition, through an internet connection at the cable head end, set top boxes also provide the ability for a home user to access the internet through web browser software included in the set top box.
In a related development, sophisticated printers such as bubble jet printers, designed specifically for home use, have become increasingly affordable, and have enjoyed widespread acceptance. It has therefore been considered to provide a connection between a set top box and a printer, thereby to allow a home user of a set top box to initiate printout of documents directly on his printer without the need for a separate computer.
In an unrelated development in the field of printing, the subject of distributed printing has recently attracted attention. Conventional paradigms of printing allow for printout to a printer connected to the same computer or network as the source of the print job. According to distributed printing, the source of the print job need not be connected to the same network, or be at the same location as, the destination printer. An Internet Printing Protocol has been proposed that allows for distributed printing over the internet, that is, from an internet-based source to an internet-based destination. The following documents describe the Internet Printing Protocol, and are incorporated herein by reference: RFC 2568, xe2x80x9cRationale for the Structure of the Model and Protocol for the Internet Printing Protocolxe2x80x9d, April 1999; RFC 2567, xe2x80x9cDesign Goals for an Internet Printing Protocolxe2x80x9d, April, 1999; RFC 2566, xe2x80x9cInternet Printing Protocol/1.0: Model and Semanticsxe2x80x9d, April 1999; RFC 2565, xe2x80x9cInternet Printing Protocol/1.0: Encoding and Transportxe2x80x9d, April 1999; and RFC 2569, xe2x80x9cMapping between LPD ad IPP Protocolsxe2x80x9d, April 1999.
Distributed printing has not yet been considered in the field of set top boxes, primarily because: the set top box (and any attached printer) is not actually connected to the internet. Rather, it is the cable head end that is connected to the internet; thus, distributed printing techniques like the Internet Printing Protocol are not able to address print jobs from an internet-based source to the set top box. The assignee of the present application is currently engaged in development of internet-based printing over a digital cable network to a set top box, for example, U.S. application entitled xe2x80x9cInternet-Based Push Printing Over Cable Networkxe2x80x9d, filed Jul. 20, 1999 (attorney docket No. 36J.P226).
One problem encountered in meeting the foregoing goals of internet-based printing to a printer on a home set top box is the lack of a uniform software architecture by which such printing can be accomplished. Specifically, there do not now exist definitions for how to create print jobs at an internet-based source for delivery to a printer attached to a home set top box, nor are these proposals for software architecture that ensures uniform communication between clients that create print jobs, cable head ends that accept print jobs from such clients over the internet, and set top boxes that receive print jobs from the cable head end over a digital cable network.
It is an object of the present invention to address the foregoing difficulties, by proposing a software architecture that promotes uniformity in creation of print jobs by client, receipt of print jobs from such clients over the internet by the cable head end, and printout of such print jobs by the set top box via the home user""s printer.
Thus, one aspect of the invention is a cable printing services infrastructure (CPSI) which includes both a CPSI client and a CPSI server. Complementary pairs of CPSI clients and servers communicate between each of the components involved in internet-based printing to a home printer. For example, a CPSI client is provided in the remote internet-based site that originates the print job, and the CPSI client at the internet-based site communicates with a CPSI server at the cable head end. Likewise, the cable head end includes a CPSI client that communicates with a corresponding CPSI server executing at the set top box at the home user. Because nearly-identical CPSI clients and CPSI servers are used throughout the entire printing process (that is, from the internet-based originator, to the cable head end and to the ultimate set top box destination), uniformity and intercommunicability is promoted.
Although each of the CPSI clients are nearly identical to each other, and each of the CPSI servers are nearly identical, preferably they are not exactly identical. Rather, both clients and servers are tailored so that they are more suitable to the component in which it runs. For example, the CPSI server at the cable head end differs from that in the set top box in terms of scale: the cable head end requires a larger scale so as to be able to service multiple CPSI clients at multiple set top boxes, whereas the CPSI server in a single set top box would nearly deal with only a single printer. Thus, the CPSI server at the set top box need not perform as many functions, or with the same amount of complexity of the cable head end. Nevertheless, despite differences between CPSI clients and servers between the different components, while CPSI clients and servers communicate with other applications using identical APIs (application programming interfaces), so as to promote uniformity of use.
The CPSI client is responsible for receiving a print job and for transmitting the print job to the next-downstream component, that is, from the internet-based remote printing originator to the cable head end, and from the cable head end to the set top box. To accomplish this functionality, the CPSI client communicates with a corresponding CPSI server at the next-downstream site.
The CPSI server is responsible for receiving the print job from the CPSI client next-upstream. The CPSI server includes a CPSI spooler that accepts print jobs, and spools them for transmission to the next-downstream site. As part of its function of spooling print jobs, the CPSI server creates logical printers which perform any immediate rendering of print jobs to a format moresuitable for use at the next-downstream station.
Because the CPSI software architecture includes complementary CPSI clients and CPSI servers, that interface to existing applications through a uniform API, the software architecture provided by the present invention promotes uniformity and intercommunicability between a variety of different components involved in internet-based printing to a home set top box and printer. Moreover, because the CPSI server. Further includes a CPSI spooler that creates logical printers, with the logical printers rendering print jobs to formats more suitable to the next-downstream component in internet-based printing, the software architecture of the present invention facilitates efficient home printing.